1. Field of the Invention
The present invention relates to an image processor for processing image data and newly generating purposed image data to be displayed and an image display.
2. Description of the Related Art
In general, a projection display M such as a projection TV is mounted on a base B at a predetermined elevation angle xcex8 to project the light emitted from the display M on a screen S a predetermined distance L away from the display M.
Heretofore, a display for directly projecting the light of a CRT on a screen has been generally used so far for the projection display M. However, a display is recently used which uses a pixel structure such as a liquid-crystal panel or plasma display panel as a light bulb.
In this case, if the projection display M is set with the surface upward, a distorted image A1 like a trapezoid with a long upper side is formed when projecting an originally-rectangular normal image A0 on the display panel of the display M on the screen S as shown in FIG. 11(a) and thereby, it is difficult to see the image A1.
Accordingly, it is necessary to display the normal image A0 on the screen S by correcting the distortion of such an image A1.
Therefore, as shown in FIG. 11(b), by previously deforming the normal image A0 to obtain an image A2 like a trapezoid with a long bottom side and projecting the image A2 on the screen S, the normal rectangular image A0 is displayed.
Thus, such a technical idea as to form the image A2 obtained by previously deforming the normal image A0 for distortion correction (hereafter, this processing is referred to as inverse correction) makes it possible to easily perform inverse correction and relatively easily correct the distortion of an image because a display such as a conventional CRT does not have any pixel structure and thereby, an image is deformed by changing the magnetic field of a deflecting coil.
However, as for the projection display M provided with a display panel having a pixel structure of liquid crystal or plasma, it is difficult to obtain the inversely-corrected image A2 unless a video signal is digitally image-processed.
In this case, to form the image A2 obtained by inversely correcting the normal image A0 it is necessary to rewrite the data present at a certain coordinate position Q to other coordinate position P, as shown in FIG. 11(b).
In this case, the relation between the both coordinate positions Q and P can be logically obtained by using a geometric relation based on such setting conditions as the elevation angle xcex8 and the projection distance L of the projection display M. Therefore, a transformation formula led from the geometric relation will be slightly described below by referring to FIGS. 12(a) and 12(b). That is, in FIGS. 12(a) and 12(b), it is assumed that the enlargement magnification of the display size on a screen surface 1202 is k, the projection distance is L, and the elevation angle is xcex8 on the basis of the size of a liquid-crystal panel surface 1201. Moreover, when it is assumed that the coordinates of a point P on the liquid-crystal panel surface is P(x,y) and the coordinates of a point Q on the screen surface is Q(X,Y), the transformation formula between the points P and Q is shown as the following expression (Equation 1). In this case, the vertical/horizontal inversion phenomenon due to a lens system is not considered.
Y(y)=Lxc2x7kxc2x7y/(Lxc2x7cos xcex8xe2x88x92kxc2x7yxc2x7sin xcex8)
X(x)={Lxc2x7cos xcex8/(Lxc2x7cos xcex8xe2x88x92kxc2x7yxc2x7sin xcex8}xc2x7kxc2x7xxe2x80x83xe2x80x83[Equation 1]
However, when a frame memory for storing a video signal can store data only in pixel unit and a display panel has a pixel structure, data can be displayed only in pixel unit. Therefore, when the value of the coordinate position P obtained through a simple logical computation has a fraction lower than a decimal point, the obtained coordinate position P does not match with a position where an actual pixel is present on a display panel.
Therefore, as shown in FIG. 13, the point P is set as a coordinate position where a display pixel is actually present on the display panel to conversely obtain the coordinate position of the point Q on the basis of the point P. In this case, because the coordinate position Q is a value merely obtained through computation, it does not always fit the coordinate position on a pixel of the frame memory and therefore, it may be shifted from coordinate positions Q1, Q2, . . . of actual pixels. Thus, actual data is not present on the coordinate position Q.
Therefore, in this case, coordinate positions Q1 to Q4 of peripheral pixels (four pixel in this case) are obtained from the coordinate position Q (hereafter, the coordinate positions Q1 to Q4 are referred to as reference pixel coordinates) to generate the data at the coordinate position of the point Q in accordance with the actual data stored in the reference pixel coordinates Q1 to Q4 (hereafter, the above data interpolation is referred to as filtering).
For example, when assuming pixel data values on the reference pixel coordinates Q1 to Q4 as D1 to D4, the data D on the coordinate position Q necessary for inverse correction is computed in accordance with the following expression (Equation 2).
D=a1xc2x7D1+a2xc2x7D2+a3xc2x7D3+a4xc2x7D4xe2x80x83xe2x80x83[Equation 2]
where a1 to a4 denote filter coefficient (weighting coefficient) and satisfy the relation of the following expression (Equation 3).
a1+a2+a3+a4=1xe2x80x83xe2x80x83[Equation 3]
When the data D on the coordinate position Q is made through filtering, it is possible to display an image by rewriting the data D to the coordinate position P and inversely correcting the image.
By performing the filtering for all pixels, the inversely-corrected image A2 can be obtained on the display panel. Therefore, by projecting the image A2 on the screen S, the normal image A0 free from distortion is projected.
FIG. 14 is a block diagram showing the configuration of a conventional projection display D having a function for correcting the above distorted image, particularly that of an image processing circuit provided with a liquid-crystal panel serving as a light bulb.
In FIG. 14, symbol 81 denotes an DA converter for converting an input video signal into a digital value, 82 denotes a DA converter for converting a video signal into an analog value and outputting it, 83 and 84 denote RAMs for storing video-signal data, and 85 denotes a computing circuit for image-processing a video signal and controlling various sections.
A pair of RAMs 83 and 84 is used because, while data is transferred to one RAM such as the RAM 83 from the AD converter 81, the computing circuit 85 cannot access the RAM 83 and therefore, the other RAM 84 is provided and the circuit 85 accesses the other RAM 84 so that the AD converter 81 and computing circuit 85 can apparently make an access at the same time.
In the above configuration, an input video signal is converted into a digital value by the AD converter 81 and its image data is written in the RAM 83 or 84.
The computing circuit 85 reads image data from the RAM 83 or 84, inversely corrects the image data, and writes the inversely-corrected image data in the RAM 83 or 84 again. Then, the circuit 85 transfers the inversely-corrected image data to the DA converter 82 from the RAM 83 or 84 and outputs an inversely-corrected video signal from the DA converter 82.
FIG. 15 is a flow chart showing the image processing procedure by the computing circuit 85.
Setting conditions such as the elevation angle xcex8 shown in FIG. 10 and the projection distance L are previously inputted (step 1). It is enough to perform the above operation only one time when setting the projection display D.
Then, the pointer showing a pixel is initialized (hereafter referred to as output pixel pointer initialization) (step 2).
In this case, an output pixel pointer designates pixels from the leftmost pixel 801a of the top line 801 up to the rightmost pixel 802a of the bottom line 802 as for the image A0 shown in FIG. 11 one pixel by one pixel similarly to the case of the raster scan of a TV. Therefore, initialization is performed so as to point the leftmost pixel of the top line.
Then, it is decided in accordance with the value of the output pixel pointer whether the pixel processing for one frame is completed. Unless the image processing for one frame is completed, image processing routines in steps 4 and 5 are started. However, when the image processing for one frame is completed, step 2 is restarted in order to display the next frame.
When it is decided in step 3 that the image processing for one frame is not completed yet, the computing circuit 85 computes reference pixel coordinates and filter coefficients on the basis of the setting condition inputted at step 1 (step 4) For example, when the output pixel pointer specifies the pixel present at the coordinate position of the point P as for the case in FIG. 15, the circuit 85 computes the reference pixel coordinates Q1 to Q4 and the filter coefficients a1 to a4.
Then, the circuit 85 means the data on a coordinate position necessary for inverse correction in accordance with the data present at the reference pixel coordinates. That is, the circuit 85 performs filtering (step 5). For example, as for the case in FIG. 15, the circuit 85 computes the data D on the coordinate position Q necessary for inverse correction by using the filter coefficients al to a4 in accordance with the data values D1 to D4 of the peripheral reference pixel coordinates Q1 to Q4 as shown by the above (Equation 2).
Then, the circuit 85 rewrites the data D to a predetermined coordinate position necessary for inverse correction on the RAM 83 or 84. For example, as for the case in FIG. 15, the circuit 85 writes the data D obtained at the coordinate position Q in the coordinate position of the point P and then, restarts step 3.
However, because the above case shows a configuration in which the computing circuit 85 performs every processing shown by the flow chart in FIG. 15 by means of hardware, there are problems that very large hardware is necessary and thereby, the cost increases and the system is increased in size though the deterioration of image quality does not occur in which a frame rate lowers and thereby movement becomes irregular even in performing very-fine dynamic-image processing.
Moreover, the image processor of the conventional projection display has a problem that it is difficult to improve the image quality and decrease the cost at the same time for above reason.
The present invention is made to solve the above conventional problems and its object is to provide an image processor and an image display capable of preventing the cost from increasing without deteriorating any image quality.
The 1st invention of the present invention is an image processor comprising:
frame memory means for storing the pixel data for a first image;
pixel-data generation means for generating the pixel data for a second image in accordance with reference pixels on the first image; and
processing-memory means for previously storing the position-coordinate data for the reference pixels determined in accordance with the relation between the first and second images;
wherein the pixel-data generation means obtains the pixel data for the reference pixels read out of the frame-memory means by using the position-coordinate data values for the reference pixels stored in the processing-memory means as read addresses and generating the pixel data for the second image in accordance with the obtained pixel data.
The 2nd invention of the present invention is an image processor according to the 1st Invention, wherein the relation between the images represents the positional relation between a predetermined position on the first image and a pixel position on the second image.
The 3rd invention of the present invention is an image processor according to the 1st Invention, wherein the relation between the images represents the positional relation between a predetermined position on the first image and a pixel position on the second image,
the reference pixels represent four pixels closest to and around the predetermined position, and
generation of the pixel data for the second image represents generating the pixel data for a pixel position on the second image in accordance with the pixel data for the four pixels. The 4th invention of the present invention is an image processor according to the 1st invention, wherein
the processing-memory means stores weighted coefficients for determining rates for using the pixel data values for reference pixels readout of the frame-memory means by making the rates correspond to the position-coordinate data values for the reference pixels, and
the pixel-data generation means is provided with filter means for generating the pixel data for the second image by using the pixel data values for the reference pixels and the weighted coefficients read out of the processing-memory means.
The 5th invention of the present invention is an image processor according to the 2nd invention, wherein
the position-coordinate data values for the reference pixels are substantially simultaneously read out of the processing-memory means and the weighted coefficients are substantially simultaneously read out of the processing-memory means.
The 6th invention of the present invention is an image display comprising:
frame-memory means for storing the pixel data for a first image;
pixel-data generation means for generating the pixel data for a second image in accordance with reference pixels on the first image;
display means for displaying the generated second image; and
processing-memory means for previously storing the position-coordinate data for the reference pixels determined in accordance with the relation between the first and second images;
wherein the pixel-data generation means obtains the pixel data for the reference pixels read out of the frame-memory means by using the position-coordinate data values for the reference pixels stored in the processing-memory means as read addresses and generates the pixel data for the second image in accordance with the obtained pixel data.
The 7th invention of the present invention is an image display according to the 6th invention, wherein
the relation between the images represents the positional relation between a predetermined position on the first image and a pixel position on the second image,
the reference pixels are four pixels closest to and around the predetermined position, and
generation of the pixel data on the second image represents generating the pixel data for the pixel position on the second image in accordance with the pixel data for the four pixels.
The 8th invention of the present invention is an image display according to the 6th invention, wherein
the processing-memory means stores weighted coefficients for determining the rates for using the pixel data values for reference pixels read out of the frame-memory means by making the rates correspond to the position-coordinate data values for the reference pixels, and
the pixel-data generation means is provided with filter means for generating the pixel data for the second image by using the pixel data values for the reference pixels and weighted coefficients read out of the processing-memory means.
The 9th invention of the present invention is an image display according to the 6th invention, wherein
the display means is a projection display.
The 10th invention of the present invention is an image display according to the 6th invention, wherein
the display means has a dot-matrix structure.
The 11th invention of the present invention is an image display according to the 6th invention, wherein
the second image is an image obtained by trapezoid-transforming the first image.
The 12th invention of the present invention is an image display according to the 6th invention, wherein
the reference pixel is a pixel on the first image corresponding to a position in a region designated on an image displayed by the display means, and
the pixel data for the second image is data used to display the image in the predetermined region in a region enlarged more than the designated region.
The 13th invention of the present invention is a medium having recorded thereon a program which is executed by a computer to implement functions of all or part of the means described in any one of the 1st invention to the 12th invention.